package com.excesys.exsecs.energy.service;

import cn.hutool.json.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.excesys.exsecs.energy.entity.DevAreaMap;
import org.apache.ibatis.annotations.Param;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface DevAreaMapService extends IService<DevAreaMap> {

	//区域能耗 - 统计能耗用电量
	JSONObject powerAreaData(String id, String startDate, String endDate, String compareType) throws ParseException;

	//区域能耗 - 统计能耗用水量
	JSONObject powerAreaWaterData(String id, String startDate, String endDate, String compareType) throws ParseException;

	//区域能耗 - 能耗图层 - 电
	JSONObject powerAreaLayer(String id, String startDate, String endDate, String compareType) throws ParseException;

	//区域能耗 - 能耗图层 - 水
	JSONObject powerAreaWaterLayer(String id, String startDate, String endDate, String compareType) throws ParseException;

	//区域能耗 - 桑基图统计
	List<Map<String, Object>> powerAreaLinks(String startTime, String endTime, List<String> idsList);

	//能耗报表 - 日 - 电
	List<Map<String, Object>> dayReport(String startTime, String endTime, List<String> idList);
	//能耗报表 - 日 - 电区间
	List<Map<String, Object>> daySectionReport(String startTime, String endTime, List<String> idList);

	//能耗报表 - 月
	List<Map<String, Object>> monthReport(String date, List<String> idList);

	//能耗报表 - 月 - 区间
	List<Map<String, Object>> monthSectionReport(String startTime, String endTime, List<String> idList);

	//能耗报表 - 年
	List<Map<String, Object>> yearReport(String date, List<String> idList);

	//能耗报表 - 年 - 区间
	List<Map<String, Object>> yearSectionReport(String startTime, String endTime, List<String> idList);


	//能耗报表 - 日 -水
	List<Map<String, Object>> dayWaterReport(String startTime, String endTime, List<String> idList);
	//能耗报表 - 日 - 水区间
	List<Map<String, Object>> dayWaterSectionReport(String startTime, String endTime, List<String> idList);



	//能耗报表 - 月 - 水
	List<Map<String, Object>> monthWaterReport(String date, List<String> idList);

	//能耗报表 - 月 - 水 - 区间
	List<Map<String, Object>> monthWaterSectionReport(String startTime, String endTime, List<String> idList);


	//能耗报表 - 年 - 水
	List<Map<String, Object>> yearWaterReport(String date, List<String> idList);


	//区域能耗排名 - 电
	List<Map<String, Object>> areaSortRank(String startTime,
										   String endTime,
										   List<String> idList,
										   String energyType);
	//区域能耗排名 - 水
	List<Map<String, Object>> areaSortWaterRank(String startTime,
												String endTime,
												List<String> idList,
												String energyType);
	JSONArray powerCostData(String id, String startDate, String endDate) throws ParseException;

	JSONObject powerCostBingtu(String id, String startDate, String endDate) throws ParseException;

}